package homework.api.day03;

import java.util.ArrayList;
import java.util.Collection;

public class CollectionManyDemo {
    public static void main(String[] args) {
        Collection<String> c1 = new ArrayList<>();
        resetCollection(c1);

        Collection<String> c2 = new ArrayList<>();
        c2.add("php");
        c2.add("java");
        c2.add("android");

        //将两个集合合并到调用方c1中
        c1.addAll(c2);
        System.out.println(c1);
        System.out.println("-------------------");

        //重置
        resetCollection(c1);
        //将两个集合相同的部分在调用方c1中删除
        c1.removeAll(c2);
        System.out.println(c1);
        System.out.println("-------------------");

        //重置
        resetCollection(c1);
        //将两个集合相同的部分覆盖在调用方c1中
        c1.retainAll(c2);
        System.out.println(c1);
        System.out.println("-------------------");


        Collection<String> c3 = new ArrayList<>();
        c3.add("php");
        c3.add("java");
        c3.add("android");

        Collection<String> c4 = new ArrayList<>();
        c4.add("java");
        c4.add("php");
        c4.add("java");
        c4.add("android");

        //判断c3集合是否包含c4集合，需要c4集合的所有(只指种类，不需要数量)元素都在c3中才返回true
        boolean b = c3.containsAll(c4);
        System.out.println("判断C3是否包含C4containsAll"+b);
        System.out.println("-------------------");
    }

    //重置c1
    public static void resetCollection(Collection<String> c1){
        c1.clear();
        c1.add("java");
        c1.add("c++");
        c1.add("android");
    }
}
